using System;
using System.Collections.Generic;
using System.Text;

namespace Com.AlbLab.GEP.Domain.Entities.NonStandard
{
    public class PNS_VA0_Variazione_Anagrafica : BASE_PraticaNonStandard
    {
        GEP_DATI_NOSTD _PraticaDB;

        public PNS_VA0_Variazione_Anagrafica(System.Data.DataColumnCollection cols, System.Data.DataRow dr)
            : base(cols, dr)
        {
                       Standard = false;
                       this.ListaControlliValori.Add(new string[] { Col_progressivo, "0", null, null, null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_codice_servizio, "0", null, null, null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_codice_flusso, "0", null, null, null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_pariva_grossista, "1", "CheckPartitaIva", "Partita IVA grossista", null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_codice_pod, "1", "CheckNotEmptyEPOD", "codice POD", null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_nome_cliente, "1", "CheckNotEmpty", "nome cliente", null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_codfis_cliente, "1", "CheckCodiceFiscale", "Codice fiscale cliente finale", Col_pariva_cliente, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_pariva_cliente, "1", "CheckPartitaIva", "Partita IVA cliente finale", null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_presenza_cliente_finale,"0", null, null,  null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_telefono_cliente, "1", "CheckNotEmpty", "numero telefono cliente finale", null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_tipologia_connessione, "1", "CheckNotEmpty", "tipologia connessione", null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_indirizzo_fornitura, "0", null, null, null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_data_arrivo_pratica, "0", null, null,  null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_da_eseguire_non_prima_del, "0", null, null,  null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_data_fine_fornitura, "0", null, null, null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_potenza_contrattuale_richiesta, "0", null, null, null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_potenza_tollerata_richiesta, "0", null, null, null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_fasi_richieste, "0", null, null, null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_tensioni_richieste, "0", null, null, null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_Uso_richiesto, "0", null, null, null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_preventivo, "0", null, null, null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_pratica_riferimento, "0", null, null, null, null, null });
                       this.ListaControlliValori.Add(new string[] { Col_note, "0", null, null, null, null, null });
        }

        public override string CodiceServizio
        {
            get { return "VA0"; }
        }

        public override string DescrizioneServizio
        {
            get { return "Variazione anagrafica"; }
        }

        public override string CodicePOD
        {
            get { return _PraticaDB.Gep_testata.Tes_Pod; }
        }

        public override string Cfis_Cliente
        {
            get { return _PraticaDB.Gep_testata.Tes_Codfis_Cli; }
        }

        public override string Piva_Cliente
        {
            get { return _PraticaDB.Gep_testata.Tes_Pariva_Cli; }
        }

        public override string Piva_Utente
        {
            get
            {
                string cRtnValue;

                if (!IsErrore) { cRtnValue = _PraticaDB.Gep_testata.Tes_Pariva_Cli; }
                else { cRtnValue = (string)RecordRaw["piva"]; }
                return cRtnValue;
            }
        }

        public override string Piva_Distributore
        {
            get { return _PraticaDB.Gep_testata.Tes_Piva_Distributore; }
        }

        public override string Cod_Prat_Utente
        {
            get { return _PraticaDB.Gep_testata.Tes_Cod_Prat_Utente; }
        }

        public override string Cod_Prat_distributore
        {

            get
            {
                string cRtnValue;
                if (!IsErrore) { cRtnValue = _PraticaDB.Gep_testata.Id_tes_cod_pratica.ToString(); }
                else { cRtnValue = ""; }
                return cRtnValue;
            }
        }

         public override void CaricaPraticaDB()
        {

        }

        public override void SalvaPraticaDB(){}

        public override object RecordDB
        {
            get { return null; }
            set { _PraticaDB = (GEP_DATI_NOSTD)value; }
        }
        public override String Cod_Contr_disp
        {
            get { return _PraticaDB.Gep_testata.Tes_Cod_Contr_Disp; }
        }

    }
}
